package com.qf.day03.method;

import java.util.Scanner;

/**
 * 验证哥德巴赫猜想:任何一个大于6的偶数，都能分解成两个质数的和，要求输入一个整数，输出这个数被被分解成哪两个质数的和。
 * 如:14
 * 14=3+ 11
 * 14=7+7
 */
public class Goldbach {

    public static void conjecture(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个大于6的偶数");
        int sc=scanner.nextInt();
        if(sc>6&&sc%2==0){
            for (int i = 2; i < sc; i++) {
                if (i==2){
                    continue;  // 继续下一次循环，本次循环后面的代码不执行了
                }
                // 使用一个for循环，寻找当前正在遍历的i是否能够被某个小于它的数整除
                // 如果找到，就说明这个数不是质数

                // 声明一个变量，代表i是不是质数
                boolean flag = true; // 先假定i是质数
                for (int j = 2; j < i ; j++) {
                    if(i%j==0){
                        flag = false;  // 找到能够整除i的j，就说明i不是质数了
                        break;
                    }
                }
                boolean flag2 = true;
                int k=sc-i;
                for (int j = 2; j < i; j++) {
                    if(k%j==0){
                        flag2 = false;  // 找到能够整除i的j，就说明k不是质数了
                        break;
                    }
                }
                if (flag&&flag2){  // 打印质数
                    if(k>1)
                    System.out.println(sc+"="+i+"+"+k);
                    }
                }
        }else {
            System.out.println("输入错误");
        }
    }
}
